// 来到页面设置主路由二级路(先引入相应的包)
let express = require('express')
// 在路由之前引入token进行解密
let expressJWT = require('express-jwt')
// 设置二级路由
let router = express.Router()
// 允许跨域请求
let cors = require('cors')

// 设置服务器
let app = express()
// let bodyparser = require('body-parser')
// app.use(bodyparser.json())
// app.use(bodyparser.urlencoded({
//     extended: true
// }))
// 在所有请求之前设置允许跨域访问哈
app.use(cors())
// 占用接口
app.listen(3000, function () {
    console.log('3000的端口成功启动哈')
})
// 中间件专门处理post请求 
app.use(express.urlencoded({
    extended: false
}));
// 随后面直接跟上解密token值
app.use(expressJWT({
    secret: 'todo_list',
    algorithms: ['HS256']
}).unless({
    // 在这就链式进行条件设置token啦,除了设置的接口外其接口访问都需要带上token值
    path: ['/user/login', '/user/reg']
}))
// 在导入二级路由  导入登录和注册页面
let loginRouter = require('./router/login.js')
app.use('/user', loginRouter)

// ,.,...........................................// 导入todo主页面二级路由
let indexRouter = require('./router/index.js')
app.use('/todo', indexRouter)
//  /.............................................../ 在最后加上一个捕获错误中间件
app.use(function (err, req, res, next) {
    if (err.name == 'UnauthorizedError') {
        //   当所带token过期的时候擦返回给前端的信息
        res.send({
            status: 1,
            message: '身份认证失败!'
        })
    }
})